package com.example.guiguiapplicatio;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;


import com.example.guiguiapplicatio.Layout.SignatureView;

import java.io.ByteArrayOutputStream;

public class SignatureActivity extends AppCompatActivity implements OnClickListener {

    private final static String TAG = "SignatureActivity";
    private SignatureView view_signature; // 声明一个签名视图对象

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_signature);
//        TextView tv_title = findViewById(R.id.tv_title);  // 标题
//        tv_title.setText(this.getString(R.string.SignatureActivity_title));  // 设置标题名称
        view_signature = findViewById(R.id.view_signature);  // 签字区
        view_signature.setDrawingCacheEnabled(true);  // 设置缓存区域为可用
        findViewById(R.id.iv_back).setOnClickListener(this);    // 返回
        findViewById(R.id.btn_clear_signature).setOnClickListener(this);    // 清除
        findViewById(R.id.btn_complete_signature).setOnClickListener(this);   // 提交
    } // onCreate-end

    @Override
    public void onClick(View v) {
        if (v.getId() == R.id.iv_back) { // 点击的返回图标
            finish(); // 结束当前的活动页面
        } else if (v.getId() == R.id.btn_clear_signature) { // 点击了清除按钮
            view_signature.clearSignature(); // 清空签名视图
        } else if (v.getId() == R.id.btn_complete_signature) { // 点击了提交按钮
            int mPathListSize = view_signature.getPathListSize();  // 获取绘制的路径列表大小，用于判定
            if (mPathListSize == 0) {  // 等于0说明没有绘制路径
                Toast.makeText(this, "请签名后再提交", Toast.LENGTH_LONG).show();
                return;
            }
            Bitmap bitmap = view_signature.getDrawingCache(); // 从绘图缓存获取位图对象
            if ( (bitmap == null) || (bitmap.isRecycled())) {  // 对象为空则不提交
                Toast.makeText(this, "请签名后再提交", Toast.LENGTH_LONG).show();
                return;
            }
            Intent intent = new Intent();
            // 把bitmap存储为byte数组，图像数据来源于签名视图对象，数据不用保存为文件
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            byte[] bytes = baos.toByteArray();
            // 往包裹存入byte数组
            intent.putExtra("bitmapbytes",bytes);
            // 携带意图返回上一个页面。RESULT_OK表示处理成功
            setResult(Activity.RESULT_OK, intent);
            finish();
        }

    } // onClick-end
}
